package listeners;

import interface_grafica.FrameLogin;
import interface_grafica.TelaConsultaProjetos;
import interface_grafica.TelaConsultaSocio;
import interface_grafica.TelaEdicaoProjetos;
import interface_grafica.TelaEdicaoSocio;
import interface_grafica.TelaPrincipal;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.swing.JOptionPane;
import javax.swing.ListSelectionModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;

import banco.Queries;


public class ListenersTelaConsultaProjetos implements ActionListener, ListSelectionListener{

	@Override
public void actionPerformed(ActionEvent e) {
		TelaConsultaProjetos tela = TelaConsultaProjetos.getInstance();

	    tela.getTabelaProjetos().getSelectionModel().addListSelectionListener(new ListSelectionListener() {  
	        public void valueChanged(ListSelectionEvent e) {  
	              if (!e.getValueIsAdjusting()) {
	            	  JOptionPane.showMessageDialog(null, "TESTE");
	              }
	        }
	       });	
   
		
}//actionPerformed	 
	
	@Override
	public void valueChanged(ListSelectionEvent e) {
		TelaConsultaProjetos tela = TelaConsultaProjetos.getInstance();
		
		ListSelectionModel model = tela.getTabelaProjetos().getSelectionModel();  
        int lead = model.getLeadSelectionIndex();  
        displayRowValues(lead); 
	}      
    
	private void displayRowValues(int rowIndex){ 
        	TelaConsultaProjetos tela = TelaConsultaProjetos.getInstance();
            int columns = tela.getTabelaProjetos().getColumnCount();  
            
            String id="";
            String nome="";
            String datainicio="12/12/12";
            int status = 0;
            Object o = null;
            
            for(int col = 0; col < columns; col++)  
            {  
               o = tela.getTabelaProjetos().getValueAt(rowIndex, col); 
                
                String aux[] = new String[4];
                aux[col] = o.toString();
                
                if(aux[0] != null){
                	id = aux[0];
                }
                if(aux[1]!= null){
                	nome = aux[1];
                }
                if(aux[2]!= null){
                	datainicio = aux[2];
                }
                if(aux[3]!= null){
                	if(aux[3].equals("Aberto"))                		
                		status = 1;
                	else if(aux[3].equals("Concluido"))                		
                    	status = 2; 
                	else            		
                    	status = 3; 
            } 
            
            
            Queries query =  new Queries();
            
            String tabela = "projeto";
            String condicao = "nome = '"+nome+"' AND codprojeto='"+id+"' AND status='"+String.valueOf(status)+"' AND datainicio='"+datainicio+"'";
          
            try {
            	
            	ResultSet rs = 	query.consultar(tabela, condicao);
            	
            	while(rs.next()){            	
            	
            	String feitores = rs.getString("feitores");
    			String resumo = rs.getString("resumo");
    			String dataconclusao = rs.getString("dataconclusao");
    			    			
    			TelaEdicaoProjetos tela2  = TelaEdicaoProjetos.getInstance();
    			
    			tela2.setIdProjeto(id);
    			tela2.setNomeProjeto(nome);
    			tela2.getStatus().setSelectedIndex(status);
    			tela2.setDataInicioProjeto(datainicio);
    			tela2.setDataFimProjeto(dataconclusao);
    			tela2.setResumoProjeto(resumo);
    			tela2.setRealizadoresProjeto(feitores);
    			    			
    			TelaPrincipal frame = TelaPrincipal.getInstance();
    			
    			tela2.setBounds(10, 11, 1063, 557);
    			frame.getPanel().removeAll();
    		    frame.getPanel().add(tela2);
    		    frame.repaint();
    		    frame.validate();
    	           	
             }
            	rs.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
    	
	}
	}
}